﻿#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#ifdef DEBUG

int main()
{
	int arr[13] = { 0,31,28,31,30,31,30,31,31,30,31,30,31 };
	int brr[13] = { 0,31,29,31,30,31,30,31,31,30,31,30,31 };
	int year, month, day;
	//printf("请输入年月日-> :");
	while (scanf("%d%*c%d%*c%d", &year, &month, &day) != EOF) {
		int tag = 1;
		if (year < 1900 || year>2300)
		{
			printf("年份输入错误\n");
			tag = 0;
		}
		else {
			if (month > 12 || month < 1)
			{
				printf("月份输入错误\n");
				tag = 0;
			}
			else {
				if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
					switch (day)
					{
					case 1:
						if (day<0 || day>brr[day])
						{
							printf("天数错误\n");
							tag = 0;
						}
						break;
					case 2:
						if (day<0 || day>brr[day])
						{
							printf("天数错误\n");
							tag = 0;
						}
						break;
					case 3:
						if (day<0 || day>brr[day])
						{
							printf("天数错误\n");
							tag = 0;
						}
						break;
					case 4:
						if (day<0 || day>brr[day])
						{
							printf("天数错误\n");
							tag = 0;
						}
						break;
					case 5:
						if (day<0 || day>brr[day])
						{
							printf("天数错误\n");
							tag = 0;
						}
						break;
					case 6:
						if (day<0 || day>brr[day])
						{
							printf("天数错误\n");
							tag = 0;
						}
						break;
					case 7:
						if (day<0 || day>brr[day])
						{
							printf("天数错误\n");
							tag = 0;
						}
						break;
					case 8:
						if (day<0 || day>brr[day])
						{
							printf("天数错误\n");
							tag = 0;
						}
						break;
					case 9:
						if (day<0 || day>brr[day])
						{
							printf("天数错误\n");
							tag = 0;
						}
						break;
					case 10:
						if (day<0 || day>brr[day])
						{
							printf("天数错误\n");
							tag = 0;
						}
						break;
					case 11:
						if (day<0 || day>brr[day])
						{
							printf("天数错误\n");
							tag = 0;
						}
						break;
					case 12:
						if (day<0 || day>brr[day])
						{
							printf("天数错误\n");
							tag = 0;
						}
						break;
					}
				else
					switch (day)
					{
					case 1:
						if (day<0 || day>arr[day])
						{
							printf("天数错误\n");
							tag = 0;
						}
						break;
					case 2:
						if (day<0 || day>arr[day])
						{
							printf("天数错误\n");
							tag = 0;
						}
						break;
					case 3:
						if (day<0 || day>arr[day])
						{
							printf("天数错误\n");
							tag = 0;
						}
						break;
					case 4:
						if (day<0 || day>arr[day])
						{
							printf("天数错误\n");
							tag = 0;
						}
						break;
					case 5:
						if (day<0 || day>arr[day])
						{
							printf("天数错误\n");
							tag = 0;
						}
						break;
					case 6:
						if (day<0 || day>arr[day])
						{
							printf("天数错误\n");
							tag = 0;
						}
						break;
					case 7:
						if (day<0 || day>arr[day])
						{
							printf("天数错误\n");
							tag = 0;
						}
						break;
					case 8:
						if (day<0 || day>arr[day])
						{
							printf("天数错误\n");
							tag = 0;
						}
						break;
					case 9:
						if (day<0 || day>arr[day])
						{
							printf("天数错误\n");
							tag = 0;
						}
						break;
					case 10:
						if (day<0 || day>arr[day])
						{
							printf("天数错误\n");
							tag = 0;
						}
						break;
					case 11:
						if (day<0 || day>arr[day])
						{
							printf("天数错误\n");
							tag = 0;
						}
						break;
					case 12:
						if (day<0 || day>arr[day])
						{
							printf("天数错误\n");
							tag = 0;
						}
						break;
					}
			}
		}
		if (tag == 1) {
			printf("日期正确");
		}
	}
	return 0;
}
#endif DEBUG


//int main()
//{
//	int year, month, day, leap;
//	printf("请输入年月日:\n");
//	scanf("%d.%d.%d", &year, &month, &day);
//	if(1900 <= year <= 2300) {
//		if(1 <= month <= 12) {
//			if (month != 2) {
//				switch (month) {
//				case 1:
//				case 3:
//				case 4:
//				case 5:
//				case 6:
//				case 7:
//				case 8:
//				case 9:
//				case 10:
//				case 11:
//				case 12:printf("日期正确");
//					break;
//				default:
//					printf()
//				}
//			}
//			if (month == 2) {
//				if (year % 4 == 0) {
//					if (year % 100 == 0) {
//						if (year % 400 == 0)
//							leap = 1;
//						else
//							leap = 0;
//					}
//					else
//						leap = 1;
//				}
//				else
//					leap = 0;
//				if (leap) {
//					if (day > 29)
//						printf("天数错误");
//					else printf("日期正确");
//				}
//				else 
//					if (day > 28)
//					printf("天数错误");
//				else printf("日期正确");
//			}
//			else printf("月份错误");
//		}
//		else printf("年份错误");
//}
//
//
//
//
//	return 0;
//}


//int main()
//{
//	int year, month, day, leap;
//	printf("请输入年月日:\n");
//	scanf("%d%*c%d%*c%d", &year, &month, &day);
//	if (1900 <= year <= 2300) {
//		
//		
//		
//		
//		if (1 <= month <= 12) {
//
//			if (month != 2) {
//				switch (month) {
//				case 1:
//				case 3:
//				case 5:
//				case 7:
//				case 8:
//				case 10:
//				case 12:
//					if (day > 31)
//						printf("日期错误");
//					else
//						printf("日期正确");
//						break;
//				case 4:
//				case 6:
//				case 9:
//				case 11:if (day > 30)
//					printf("天数错误");
//					   else
//					printf("日期正确");
//					break;
//			
//				}
//			}
//			else
//			{
//				if((year%4==0 && year % 100!= 0) || year % 400 == 0)
//	leap = 1;
//			else
//				leap = 0;
//			}
//			
//
//			if (leap) {
//				if (day > 29)
//					printf("天数错误");
//				else
//					printf("日期正确");
//			}
//			else {
//				if (day > 28)
//					printf("天数错误");
//				else
//					printf("日期正确");
//			
//			}
//				
//		}
//		else
//			printf("月份错误");
//	}
//	else 
//		printf("年份错误");
//return 0;
//}


int main()
{
	int year, month, day;
	while( (scanf("%d%*c%d%*c%d", &year, &month, &day) != EOF)) {
		if (year >= 1900 && year <= 2300)
		{
			if (month >= 1 && month <= 12)
			{
				if (month != 2)
				{
					switch (day)
					{
					case 1:
					case 3:
					case 5:
					case 7:
					case 8:
					case 10:
					case 12:
						if (day > 31)
						{
							printf("天数错误");
						}
						else
							printf("日期正确");
						break;
					case 4:
					case 6:
					case 9:
					case 11:
						if (day > 30)
						{
							printf("天数错误");
						}
						else
							printf("日期正确");
						break;
					}
				}
				else
				{
					if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0))
					{
						if (day > 29)
							printf("天数错误");
						else
							printf("日期正确");
					}
					else {
						if (day > 28)
							printf("天数错误");
						else
							printf("日期正确");
					}
				}
			}
			else
				printf("月份错误");
		}
		else
			printf("年份错误");
	}
	return 0;
}

